# -*- coding: utf-8 -*-
# https://blog.csdn.net/weixin_52040868
# 公众号：测个der
# 微信：qing_an_an
#QListView使用
from PyQt5.QtWidgets import   QMessageBox,QListView, QVBoxLayout,QWidget,QApplication,QMainWindow
from PyQt5.QtGui import QIcon,QStandardItem,QStandardItemModel
from PyQt5.QtCore import QSize
import sys

class WindowClass(QMainWindow):
    def __init__(self,parent=None):
        super(WindowClass, self).__init__(parent)
        self.layout=QVBoxLayout()
        self.resize(200,300)
        listView=QListView()
        listView.setViewMode(QListView.ListMode)#或者使用QListView.IconMode  QListView列表视图.ListMode
        #listView.setMovement(QListView列表视图.Static)
        listView.setIconSize(QSize(20,20))#图标的大小（原始图标大小如果100,100，此时设置草果原始大小则失效）
        listView.setGridSize(QSize(60,40))#每个选项所在网格大小（每个选项外层grid宽高）
        listView.setMaximumHeight(200)#listView整体最大高度
        #listView.setMinimumSize(QSize(200,200))#listView最小面积（一般如果设置最大高和宽属性后就不设置这个属性了）
        #listView.setMaximumSize(QSize(500,500))#listVIew最大面积（一般如果设置最大高和宽属性后就不设置这个属性了）
        listView.setMinimumHeight(120)#listView最小高度

        listView.setResizeMode(QListView.Adjust)
        #listView.setMovement(QListView列表视图.Static)#设置图标可不可以移动，默认是可移动的，但可以改成静态的：

        self.item_1=QStandardItem(QIcon("./image/save.ico"), "普通员工A")
        self.item_2 = QStandardItem(QIcon("./image/save.ico"), "普通员工B")

        model=QStandardItemModel()
        model.appendRow(self.item_1)
        model.appendRow(self.item_2)
        listView.setModel(model)

        listView.clicked.connect(self.checkItem)

        self.layout.addWidget(listView)
        widget = QWidget()
        widget.setLayout(self.layout)
        self.setCentralWidget(widget)


    def  checkItem(self,index):
         QMessageBox.information(self,"ListView","选择项是：%d"%(index.row()))

if __name__=="__main__":
    app=QApplication(sys.argv)
    win=WindowClass()
    win.show()
    sys.exit(app.exec_())